From 9ad27d5eda2a3352a105277c2d569e241bbadb15 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Wed, 25 Apr 2007 13:55:18 +0100 Subject: [PATCH] If bridge name hasn't been recorded in XendConfig then try and work it out using Brctl. This is needed when a VIF is created without specifying a bridge. signed-off-by: Tom Wilkie --- tools/python/xen/xend/XendDomainInfo.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index 97e180f562..0c519a4ee4 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -2246,9 +2246,18 @@ class XendDomainInfo: if not config.has_key('network'): try: + bridge = config.get('bridge', None) + if bridge is None: + from xen.util import Brctl + if_to_br = dict([(i,b) + for (b,ifs) in Brctl.get_state().items() + for i in ifs]) + vifname = "vif%s.%s" % (self.getDomid(), + config.get('id')) + bridge = if_to_br.get(vifname, None) config['network'] = \ XendNode.instance().bridge_to_network( - config.get('bridge')).uuid + config.get('bridge')).get_uuid() except Exception: log.exception('bridge_to_network') # Ignore this for now -- it may happen if the device -- 2.30.2